package com.bestcem.xm.ticket.controller.param.ticket.config;

import com.bestcem.xm.ticket.entity.mongo.TicketNotifyConfig;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author liheng
 * @version v1.0
 * @date 2021/8/20 15:13
 */
@Data
public class OnlyNotifyConfigParam {

    private List<TicketNotifyConfig.RoleRegion> ccList;

    private List<TicketNotifyConfig.ReceiveUser> receiver;

    private Boolean hasCCList;

    private String id;

    private Integer event;

    /**
     * 邮件主题
     */
    @JsonProperty(value = "emailSubject")
    private String emailSubject;
    /**
     * 邮件内容
     */
    @JsonProperty(value = "emailContent")
    private String emailContent;
    /**
     * 邮件模板id
     */
    @JsonProperty(value = "emailTemplateId")
    private String emailTemplateId;
    /**
     * 短信主题
     */
    @JsonProperty(value = "smsSubject")
    private String smsSubject;
    /**
     * 短信内容
     */
    @JsonProperty(value = "smsContent")
    private String smsContent;
    /**
     * 短信模板id
     */
    @JsonProperty(value = "smsTemplateId")
    private String smsTemplateId;

    @Data
    public static class RoleRegion implements Serializable {

        private static final long serialVersionUID = -6154874926355185513L;
        private String region;

        private String roleId;

        /**
         * 邮箱地址
         */
        private String email;

        private String id;

        /**
         * 用户名
         */
        private String userName;
        /**
         * 用户姓名
         */
        private String name;

        /**
         * 用户手机号
         */
        private String mobile;
        /**
         * 用户状态值
         */
        private Integer status;

        private Integer ccFilter;

        /**
         * 用户手机号
         */
        private String ccId;

    }

    @Data
    public static class ReceiveUser implements Serializable {

        private static final long serialVersionUID = 5137264982234579806L;

        /**
         * 邮箱地址
         */
        private String email;

        /**
         * 用户id
         */
        private String id;

        /**
         * 用户手机号
         */
        private String mobile;

        /**
         * 用户名
         */
        private String userName;

        /**
         * 区域
         */
        private String region;

        /**
         * 角色id
         */
        private String roleId;

        /**
         * followerFilter
         */
        private int followerFilter;

        /**
         * followerId
         */
        private String followerId;
    }
}
